import java.math.BigInteger;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;

import dao.GerenciaCurso;
import dao.MoodleDAO;
import moodle.dados.Aluno;
import moodle.dados.Atividade;
import moodle.dados.Curso;
import moodle.dados.atividades.AtividadeNota;
import moodle.dados.atividades.AtividadeParticipacao;
import moodle.dados.atividades.Tarefas;

public class Executa {
	
	public static void main(String[] args) {
		
		GerenciaCurso gerenciaCurso = new GerenciaCurso();
		gerenciaCurso.addCursos();
		ArrayList<Curso> listaCursos = (ArrayList<Curso>) gerenciaCurso.getCursos(); 
		
		for(Curso c: listaCursos ){	
			System.out.println(c.getFullName());
			GerenciaCurso.addAlunosCurso(c);
			GerenciaCurso.addAtividadePesquisaAvaliacao(c);
			GerenciaCurso.addAtividadeTarefas(c);
			GerenciaCurso.addAtividadeFerramentaExterna(c);
			GerenciaCurso.addAtividadeGlossario(c);
			GerenciaCurso.addAtividadeLicao(c);
			GerenciaCurso.addAtividadeLaboratorioDeAvaliacao(c);
			GerenciaCurso.addAtividadeBancoDeDados(c);
			GerenciaCurso.addArividadeEscolha(c);
			GerenciaCurso.addAtividadeChat(c);
			GerenciaCurso.addAtividadeForum(c);
			
			ArrayList<Aluno> listaAlunos = (ArrayList<Aluno>) c.getAlunos();
			System.out.printf("\nAlunos:\n");
			for(Aluno a : listaAlunos){
				System.out.println(a.getCompleteName());
			}
			
			System.out.println("\n\nAtividades:\n");
			List<AtividadeNota> listaAtividadeN = c.getAtividadesNota();
			List<AtividadeParticipacao> listaAtividadeP = c.getAtividadesParticipacao();
			for(AtividadeNota a : listaAtividadeN){
				System.out.println(a.getName());
				System.out.println(a.getNotas().toString());
			}
			for(AtividadeParticipacao a : listaAtividadeP){
				System.out.println(a.getName());
				System.out.println(a.getParticipacao().toString());
			}
			
			System.out.printf("\n\n FIM CURSO \n\n");
		}
		
		MoodleDAO.closeEntityFactory();
	}
}
